fix(skills): make stash-managed-platforms frontmatter valid YAML - #954
fix(skills): make stash-managed-platforms frontmatter valid YAML#954coderdan wants to merge 1 commit into
Conversation
The description was an unquoted YAML scalar containing ": " ("...guards
that break installs: command-time ceilings..."), which is invalid — a
plain scalar can't hold a colon-space. Every consumer that parses the
frontmatter throws on it.
cipherstash.com mirrors these skills at build time via the marketing
app's prebuild step, so this took down that site's deploys on every
branch, not just the one that touched skills.
Rewrites the value as a folded block scalar, which handles both the
colons and the embedded double quotes. The parsed string is byte-for-byte
what it was.
Closes CIP-3900
Claude-Session: https://claude.ai/code/session_01HnNBVu5xeEQ8AdVgLxkKWL
|
freshtonic
left a comment
There was a problem hiding this comment.
One thing blocks this, and it's small: it needs a stash patch changeset.
Everything substantive verified:
- The bug is real: parsing main's frontmatter with js-yaml fails ("bad indentation of a mapping entry (3:856)") — the unquoted
installs: command-timecolon-space, exactly as described. - The
>-folded scalar parses, and the parseddescriptionis byte-for-byte identical to the old raw line (I diffed them programmatically). The body is untouched. - CI is green.
But skills/ ships inside the stash npm tarball, and AGENTS.md is explicit that a skills-only change is not internal — it needs a stash patch changeset (changeset-bot flagged this too). Without one, the currently published tarball keeps shipping the unparseable frontmatter to every stash init and the fix only ever reaches the marketing site's main-branch mirror. The changeset is what makes this fix ship.
Suggested text:
---
'stash': patch
---
Fix invalid YAML in `skills/stash-managed-platforms/SKILL.md` frontmatter: the
unquoted `description` contained a colon-space, so any YAML parser rejected the
file (this broke cipherstash.com deploys, which mirror these skills at build
time). Rewritten as a folded block scalar; the parsed description is
byte-for-byte identical.
Add that and this is an insta-approve.
One heads-up, not blocking: #951 edits this same file's body (managed-platforms snippet + the "three things" list) — frontmatter vs body, so no textual conflict expected, but whichever merges second should double-check the rebase.
skills/stash-managed-platforms/SKILL.mdhas an unquoteddescription:containing::A plain YAML scalar can't hold a colon-space, so anything parsing this frontmatter throws:
cipherstash.com mirrors these skills at build time (the marketing app's
prebuildrunsgenerate-agent-skills.mjsagainstcipherstash/stack@main), so this broke that site's deploys on every branch, not only ones touching skills. It surfaced on an unrelated dashboard PR.Rewritten as a folded block scalar (
>-), which is safe for both the colons and the embedded"version too new"quotes. The parsed string is byte-for-byte identical to before — verified against the currentmainfile:All 14 skills now parse;
stash-managed-platformswas the only broken one.Closes CIP-3900
https://claude.ai/code/session_01HnNBVu5xeEQ8AdVgLxkKWL